package 基础篇;

import java.util.Arrays;

/**
 * @author LiuShanshan
 * @version V1.0
 * @Description
 */
public class 插入排序老师 {
    public static void main(String[] args) {
        int[] array = {4,1,7,2,9,6,12,10};
    }

    // 从1开始循环，比较之前的所有值，例如从索引3开始，比较索引0，1，2的数据
    // 修改了代码与希尔排序一致
    public static void insert(int[] a) {
        // i 代表待插入元素的索引
        for (int i = 1; i < a.length; i++) {
            int t = a[i]; // 代表待插入的元素值    // 第一次循环 t = 第二个值
            int j = i;                          // 第一次循环 j = 1
            System.out.println(j);
            while (j >= 1) {
                if (t < a[j - 1]) { // j-1 是上一个元素索引，如果 > t，后移
                    a[j] = a[j - 1];
                    j--;
                } else { // 如果 j-1 已经 <= t, 则 j 就是插入位置
                    break;
                }
            }
            a[j] = t;
            System.out.println(Arrays.toString(a) + " " + j);
        }
    }
}
